package com.arpa.wms.service;

import com.arpa.core.web.Result;
import com.arpa.wms.domain.dto.DeliveryDistributionDTO;
import com.arpa.wms.domain.dto.PrepackagedDistributionDTO;
import com.arpa.wms.domain.entity.DeliveryDistribution;
import com.arpa.wms.domain.entity.PrepackagedDistribution;
import com.arpa.wms.domain.entity.PrepackagedItem;
import com.arpa.wms.domain.vo.DeliveryItemVO;
import com.arpa.wms.domain.vo.DeliveryItemWithDistributionVO;
import com.arpa.wms.domain.vo.PrepackagedItemVO;
import com.arpa.wms.domain.vo.PrepackagedItemWithDistributionVO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 预打包分配 服务类
 * </p>
 *
 * @author leo
 * @since 2021-07-02
 */
public interface IPrepackagedDistributionService extends IService<PrepackagedDistribution> {
    /**
     * 根据预打包表code获取分配与明细关联列表
     * @param prepackagedCode
     * @return
     */
    List<PrepackagedItemWithDistributionVO> queryWithItemList(String prepackagedCode);

    /**
     * 自动分配
     * @param prepackagedCode
     * @return
     */
    Result autoDistribute(String prepackagedCode);

    /**
     * @Description: 批量保存分配库存
     */
    Result batchSave(PrepackagedItemVO prepackagedItemVO);

    /**
     * 查询是否有相同的分配信息
     * @param itemCode
     * @param distributionCode
     * @return
     */
    PrepackagedDistribution hasSameDistribution(String itemCode, String distributionCode);

    /**
     * 根据分配表code， 调整分配数量，正数表示增加，负数表示减少
     * @param prepackagedDistributionDTO
     * @return
     */
    int adjustDistributionQuantity(PrepackagedDistributionDTO prepackagedDistributionDTO);

    /***
     * @description
     * 根据预打包单号，更新预打包分配单拣货数量
     * @author rfwang
     * @date 2021年7月7日
     * @param prepackagedCode:
     **/
    int updatePickingQuantity(String prepackagedCode);




}
